Skip to content

Terrain MCP: a request's lake finds a basin, and every water body it names floods - #653

Merged
jonit-dev merged 1 commit into
developfrom
terrain-place-water
Nov 10, 2026
Merged

jonit-dev merged 1 commit into
developfrom
terrain-place-water

Conversation

@jonit-dev

Copy link
Copy Markdown
Contributor

What is this PR about?

terrain_generate failed on "a volcanic island with a lake". The volcanic landform has no lake layer, and the parser kept only the first water word, so the sea was lost too.

Why does it matter?

An agent asks for any terrain in words and gets a world. A lake word now works on every landform, not only on the starters that author a lake.

Done

  • placeLakes: a lake row with no layer sits in the deepest closed basin of the finished ground (fillDepressions), filled to its spill level, inside the square and above the sea. Ground with no basin floods its lowest inner cell 2 m deep.
  • The request keeps every water body it names: "island with a lake" = sea + lake.
  • Red-green: the lake spec threw no lake layer. It now gets an ocean at 1.5 m and a lake at 4.5 m. packages/terrain: 635/635.

Follow-up to #635. Owner asked for an immediate merge that bypasses CI.

…nd every water body it names floods

'a volcanic island with a lake' failed at the cook: the volcanic preset authors no lake layer, and
the parser kept only the first water word, so the sea was lost too.
- placeLakes puts each lake row the recipe has no layer for in the finished ground's deepest closed
  basin (fillDepressions), filled to its spill level, inside the square and above the sea; ground
  with no basin a metre deep floods its lowest inner cell two metres. Rivers keep routeRivers.
- The request keeps every water body it names, once each: sea plus lake.
Red: the lake spec threw 'no lake layer'. Green: ocean 1.5 m plus a lake at 4.5 m. Terrain 635/635.
@jonit-dev
jonit-dev merged commit 6592fb1 into develop Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant